home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 - Homepage / CHIP.BIN / share / webmaste / csehtmlp / csehtmlp.exe / {app} / ParserRules / c#.xs < prev    next >
Encoding:
Text File  |  2002-04-22  |  5.5 KB  |  164 lines

  1. //Language: C#
  2. //Copyright (c) 1992-2002 Altium Limited            
  3. //All rights reserved.                              
  4. //http://www.dream-com.com                          
  5. //contact@dream-com.com                             
  6.  
  7. // states
  8. State=snormal,CaseSensitive
  9. State=sstring1
  10. State=sstring2
  11. State=sstring3
  12. State=scomment1
  13. State=scomment2
  14. State=sdirective
  15. // tokens
  16. Token=tnone
  17. Token=tstring
  18. Token=tcomment
  19. Token=tident
  20. Token=tinteger
  21. Token=tfloat
  22. Token=tresword
  23. Token=tassembler
  24. Token=turl
  25. Token=twhitespace
  26. Token=tdirective
  27. //delims
  28. Delimiters=;.,:'"{}[]()?!@#$%^&*-+=|\/
  29.  
  30. // reswords
  31. snormal 'abstract'  snormal tresword
  32. snormal 'base'      snormal tresword
  33. snormal 'bool'      snormal tresword
  34. snormal 'break'     snormal tresword
  35. snormal 'byte'      snormal tresword
  36. snormal 'case'      snormal tresword
  37. snormal 'catch'     snormal tresword
  38. snormal 'char'      snormal tresword
  39. snormal 'checked'   snormal tresword
  40. snormal 'class'     snormal tresword
  41. snormal 'const'     snormal tresword
  42. snormal 'continue'  snormal tresword
  43. snormal 'decimal'   snormal tresword
  44. snormal 'default'   snormal tresword
  45. snormal 'delegate'  snormal tresword
  46. snormal 'do'        snormal tresword
  47. snormal 'double'    snormal tresword
  48. snormal 'else'      snormal tresword
  49. snormal 'enum'      snormal tresword
  50. snormal 'event'     snormal tresword
  51. snormal 'explicit'  snormal tresword
  52. snormal 'extern'    snormal tresword
  53. snormal 'false'     snormal tresword
  54. snormal 'finally'   snormal tresword
  55. snormal 'fixed'     snormal tresword
  56. snormal 'float'     snormal tresword
  57. snormal 'for'       snormal tresword
  58. snormal 'foreach'   snormal tresword
  59. snormal 'goto'      snormal tresword
  60. snormal 'if'        snormal tresword
  61. snormal 'implicit'  snormal tresword
  62. snormal 'in'        snormal tresword
  63. snormal 'int'       snormal tresword
  64. snormal 'interface' snormal tresword
  65. snormal 'internal'  snormal tresword
  66. snormal 'is'        snormal tresword
  67. snormal 'lock'      snormal tresword
  68. snormal 'long'      snormal tresword
  69. snormal 'namespace' snormal tresword
  70. snormal 'new'       snormal tresword
  71. snormal 'null'      snormal tresword
  72. snormal 'object'    snormal tresword
  73. snormal 'operator'  snormal tresword
  74. snormal 'out'       snormal tresword
  75. snormal 'override'  snormal tresword
  76. snormal 'params'    snormal tresword
  77. snormal 'private'   snormal tresword
  78. snormal 'protected' snormal tresword
  79. snormal 'public'    snormal tresword
  80. snormal 'readonly'  snormal tresword
  81. snormal 'ref'       snormal tresword
  82. snormal 'return'    snormal tresword
  83. snormal 'sbyte'     snormal tresword
  84. snormal 'sealed'    snormal tresword
  85. snormal 'short'     snormal tresword
  86. snormal 'sizeof'    snormal tresword
  87. snormal 'static'    snormal tresword
  88. snormal 'string'    snormal tresword
  89. snormal 'struct'    snormal tresword
  90. snormal 'switch'    snormal tresword
  91. snormal 'this'      snormal tresword
  92. snormal 'throw'     snormal tresword
  93. snormal 'true'      snormal tresword
  94. snormal 'try'       snormal tresword
  95. snormal 'typeof'    snormal tresword
  96. snormal 'uint'      snormal tresword
  97. snormal 'ulong'     snormal tresword
  98. snormal 'unchecked' snormal tresword
  99. snormal 'unsafe'    snormal tresword
  100. snormal 'ushort'    snormal tresword
  101. snormal 'using'     snormal tresword
  102. snormal 'virtual'   snormal tresword
  103. snormal 'void'      snormal tresword
  104. snormal 'while'     snormal tresword
  105.  
  106. // numbers
  107. snormal [0-9][0-9]*                            snormal  tinteger
  108. snormal 0X[0-9A-F]+                            snormal  tinteger
  109. snormal [1-9][0-9]*\.[0-9]*                    snormal  tfloat
  110. snormal [1-9][0-9]*{\.[0-9]+}|e{[\+\-]}|[0-9]+ snormal  tfloat
  111.  
  112. //idents
  113. snormal   [a-z_A-Z][a-z_A-Z0-9]*  snormal   tident
  114. snormal   @[a-z_A-Z][a-z_A-Z0-9]*  snormal   tident
  115.  
  116. //white space
  117. snormal #32*                      snormal   twhitespace
  118.  
  119. //comments
  120. snormal   //                      scomment1 tcomment
  121. scomment1 [#1-#255]*              snormal   tcomment
  122. scomment1 $                       snormal   tcomment
  123.  
  124. snormal   /\*                     scomment2 tcomment
  125. scomment2 [^\*]*                  scomment2 tcomment
  126. scomment2 \*[^/]                  scomment2 tcomment
  127. scomment2 [\*]*/                  snormal   tcomment
  128.  
  129.  
  130. //strings
  131. snormal   \'                      sstring1   tstring
  132. sstring1   [^\']*                 sstring1   tstring
  133. sstring1   \'                     snormal    tstring
  134. sstring1   \'\'                   sstring1   tstring
  135. sstring1   \\                     sstring1   tstring
  136. sstring1   \\\'                   sstring1   tstring
  137. sstring1   $                      snormal    tstring
  138.  
  139. //strings
  140. snormal    \"                     sstring2   tstring
  141. sstring2   [^\"]*                 sstring2   tstring
  142. sstring2   \"                     snormal    tstring
  143. sstring2   \"\"                   sstring2   tstring
  144. sstring2   \\                     sstring2   tstring
  145. sstring2   \\\"                   sstring2   tstring
  146. sstring2   $                      snormal    tstring
  147.  
  148. //strings
  149. snormal    @\"                    sstring3   tstring
  150. sstring3   [^\"]*                 sstring3   tstring
  151. sstring3   \"                     snormal    tstring
  152. sstring3   \"\"                   sstring3   tstring
  153.  
  154.  
  155. //directives
  156.  
  157. snormal  \#                       sdirective tdirective
  158. sdirective [#1-#255]*             snormal    tdirective
  159. sdirective $                      snormal    tdirective
  160.  
  161. // urls
  162. snormal   www\.[a-z_A-Z0-9@\-.]*    snormal turl
  163. snormal   mailto:[a-z_A-Z0-9@\-.]*   snormal turl
  164.